###
 # @Description: 监测服务异常时，发送邮件通知
 # @Version: 2.0
 # @Autor: gang
 # @Date: 2020-09-24 16:33:18
 # @LastEditors: gang
 # @LastEditTime: 2020-09-24 18:03:23
### 
#!/bin/bash
:<<EOF
    #在/etc/mail.rc配置文件中添加一下配置信息
    
    #发送邮件邮箱
    set from=18838952961@163.com
    
    # 邮件服务器DNS
    set smtp=smtp.163.com

    # 账户
    set smtp-auth-user=18838952961@163.com

    #授权码
    set smtp-auth-password=AVIGHTZYNSINDXZX

    #验证方式
    set smtp-auth=login

EOF

path=/home/test/web_check

# 定义接收邮件列表
mail_group="1355528968@qq.com"

# 监测目录是否存在，否则创建
[ ! -d "${path}" ] && {
    mkdir -p ${path}
}

function sendmail(){
    # 将函数的第一个参数传给邮件主题变量
    local subject_content="算法服务器预警"
    
    # 发送邮件
    for mail_user in ${mail_group}
    do
        echo ${mail_user}
        # 发送邮件
        
        /usr/bin/mail -s $subject_content $mail_user "内存已满，注意⚠️"
        # echo  hello word | mail -s " title" 1355528968@qq.com  
        # sleep 1
    done
}

# 接受邮件地址信息
function maillist(){
    for mail_user in ${mail_group}
    do
        echo "${mail_user}"
    done
}

# # 主函数
function main(){
cat <<DESC
    =======================================
    1、发送邮件
    2、查看接受邮件列表
    3、退出
    请输入以上菜单编号可进行操作
    =======================================
DESC
    read -p "请输入要执行的操作：" flag
    case "${flag}" in
        1)
            sendmail
            ;;
        2)
            maillist
            main
            ;;
        3)
            exit 1
            ;;
        *)
            printf "选择错误，必须选择「1，2，3」\n"
    esac
}
main

